﻿
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Telerik.WinControls;
using Telerik.WinControls.UI;
using System.IO;
using Bitis_KeToanThue_Pro_DungChung.Common;
using Bitis_KeToanThue_Pro_DanhMuc.AccessDatabase;
namespace Bitis_KeToanThue_Pro_DanhMuc.Form
{
    public partial class frmDanhMucVatTu : Telerik.WinControls.UI.RadForm
    {
        DanhMucVatTu dmvt = new DanhMucVatTu();
        private int Mavt;
        public frmDanhMucVatTu()
        {
            InitializeComponent();
        }
        private void khoitaoluoi()
        {
            GridViewCheckBoxColumn chon = new GridViewCheckBoxColumn();
            chon.HeaderText = "Chọn";
            chon.Width = 50;
            chon.IsVisible = true;
            //chon.ReadOnly = true;
            grvVatTu.Columns.Add(chon);

            GridViewTextBoxColumn mavt = new GridViewTextBoxColumn();
            mavt.HeaderText = "Mã vật tư";
            mavt.FieldName = "MaVT";
            mavt.Width = 100;
            mavt.IsVisible = true;
            mavt.ReadOnly = true;
            mavt.TextAlignment = ContentAlignment.MiddleCenter;
            grvVatTu.Columns.Add(mavt);

            GridViewTextBoxColumn ten = new GridViewTextBoxColumn();
            ten.HeaderText = "Tên vật tư";
            ten.FieldName = "TenVT";
            ten.Width = 200;
            ten.IsVisible = true;
            ten.ReadOnly = true;
            ten.TextAlignment = ContentAlignment.MiddleCenter;
            grvVatTu.Columns.Add(ten);

            GridViewTextBoxColumn dvt = new GridViewTextBoxColumn();
            dvt.HeaderText = "Đơn vị tính";
            dvt.FieldName = "DVT";
            dvt.Width = 200;
            dvt.IsVisible = true;
            dvt.ReadOnly = true;
            dvt.TextAlignment = ContentAlignment.MiddleCenter;
            grvVatTu.Columns.Add(dvt);

            GridViewTextBoxColumn nhom = new GridViewTextBoxColumn();
            nhom.HeaderText = "Nhóm Vật Tư";
            nhom.FieldName = "MaNhomVT";
            nhom.Width = 200;
            nhom.IsVisible = true;
            nhom.ReadOnly = true;
            nhom.TextAlignment = ContentAlignment.MiddleCenter;
            grvVatTu.Columns.Add(nhom);

            GridViewTextBoxColumn donvi = new GridViewTextBoxColumn();
            donvi.HeaderText = "Đơn Vị";
            donvi.FieldName = "MaDV";
            donvi.Width = 200;
            donvi.IsVisible = true;
            donvi.ReadOnly = true;
            donvi.TextAlignment = ContentAlignment.MiddleCenter;
            grvVatTu.Columns.Add(donvi);
        }
        private void reset()
        {
            txttenvattu.Text = "";
            txtdvt.Text = "";
        }
        private void load_cbnhom()
        {
            cbonhom.DataSource = dmvt.loadcombonhom();
            cbonhom.ValueMember = "MaNhomVT";
            cbonhom.DisplayMember = "TenNhomVT";
        }
        private void load_cbodonvi()
        {
            cbodonvi.DataSource = dmvt.loadcombodv();
            cbodonvi.ValueMember = "MaDV";
            cbodonvi.DisplayMember = "TenDV";
        }
        private void loadluoi()
        {
            grvVatTu.DataSource = dmvt.loadgrid();
        }
        private void load_texbox(GridViewRowInfo loadtext)
        {
            if(loadtext !=null )
            {
                txttenvattu.Text = ClassXuLyChung.GetSafeString(loadtext.Cells["TenVT"].Value);
                txtdvt.Text = ClassXuLyChung.GetSafeString(loadtext.Cells["DVT"].Value);
                //cbonhom.Text = ClassXuLyChung.GetSafeString(loadtext.Cells["TenNhom"].Value);
                //cbodonvi.Text = ClassXuLyChung.GetSafeString(loadtext.Cells["TenDV"].Value);
                Mavt = int.Parse(ClassXuLyChung.GetSafeString(loadtext.Cells["MaVT"].Value));
            }
            else
            {
                reset();
            }
        }
        private void radButton1_Click(object sender, EventArgs e)
        {
            Close();
        }
        private void frmDanhMucVatTu_Load(object sender, EventArgs e)
        {
            khoitaoluoi();
            load_cbnhom();
            load_cbodonvi();
            loadluoi();
            reset();
        }
        private void btSoanLai_Click(object sender, EventArgs e)
        {
            reset();
        }

        private void btThem_Click(object sender, EventArgs e)
        {
            if(!string.IsNullOrEmpty(txttenvattu.Text) && !string.IsNullOrEmpty(txtdvt.Text))
            {
                if (dmvt.them(txttenvattu.Text, txtdvt.Text, ClassXuLyChung.GetSafeInt(cbonhom.SelectedValue), ClassXuLyChung.GetSafeString(cbodonvi.SelectedValue)) == 1)
                {
                    RadMessageBox.Show("Lưu thành công", "Thông báo", MessageBoxButtons.OK, RadMessageIcon.Info);
                    reset();
                    loadluoi();
                }
            }
            else
            {
                RadMessageBox.Show("Bạn cần phải điền đầy đủ thông tin", "Thông bao", MessageBoxButtons.OK, RadMessageIcon.Info);
            }
        }

        private void btXoa_Click(object sender, EventArgs e)
        {
            DialogResult thongbao = RadMessageBox.Show("Bạn có chắc muốn xóa mục này ?", "Thông báo", MessageBoxButtons.YesNo, RadMessageIcon.Info);
            if (thongbao == DialogResult.Yes)
            {
                for(int i=0;i<grvVatTu.Rows.Count;i++)
                    if (grvVatTu.Rows[i].Cells[0].Value != null)
                    {
                        bool ischecked = (bool)grvVatTu.Rows[i].Cells[0].Value;
                        if (ischecked == true)
                        {
                            dmvt.delete(Mavt);
                        }
                    }
                RadMessageBox.Show("Xóa Thành Công ", "Thông Báo ", MessageBoxButtons.OK, RadMessageIcon.Info);
                reset();
                loadluoi();
            }
        }

        private void btSua_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(txttenvattu.Text) && !string.IsNullOrEmpty(txtdvt.Text))
            {
                if (dmvt.sua(Mavt, txttenvattu.Text, txtdvt.Text, ClassXuLyChung.GetSafeInt(cbonhom.SelectedValue), ClassXuLyChung.GetSafeString(cbodonvi.SelectedValue)) == 1)
                {
                    RadMessageBox.Show("Cập nhật thành công", "Thông báo", MessageBoxButtons.OK, RadMessageIcon.Info);
                    reset();
                    loadluoi();
                }
            }
            else
            {
                RadMessageBox.Show("Bạn cần phải điền đầy đủ thông tin", "Thông bao", MessageBoxButtons.OK, RadMessageIcon.Info);
            }
        }

        private void txtTimKiem_TextChanged(object sender, EventArgs e)
        {
            ClassXuLyChung.tuychontimkiemtrenluoi(txtTimKiem, grvVatTu, 1, 0);
        }

        private void grvVatTu_Click(object sender, EventArgs e)
        {
            load_texbox(grvVatTu.CurrentRow);
        }

        private void grvVatTu_CellClick(object sender, GridViewCellEventArgs e)
        {
            load_texbox(grvVatTu.CurrentRow);
        }

    }
}
